﻿using System;
using System.Collections.Generic;
using System.Data;
using personalplaner.business.stamm;

namespace personalplaner.dataprovider.services
{
    public partial class AnstellungDataService
    {
        internal static IEnumerable<Anstellung> m_anstellungenData(DataTable table)
        {
            bool anstellungidExists = table.Columns.Contains("anstellungid");
            bool nameExists = table.Columns.Contains("name");
            bool prioritaetExists = table.Columns.Contains("prioritaet");
            bool einsatzprotagExists = table.Columns.Contains("einsatzprotag");
            bool gerechnetExists = table.Columns.Contains("gerechnet");
            bool ausgelerntExists = table.Columns.Contains("ausgelernt");
			var beschreibungExists = table.Columns.Contains("beschreibung");
            
            foreach (DataRow row in table.Rows)
            {
				yield return new Anstellung
				{
					ID = anstellungidExists ? row.Field<int>("anstellungid") : int.MaxValue,
					AnstellungID = anstellungidExists ? row.Field<int>("anstellungid") : int.MaxValue,
					Name = nameExists ? row.Field<string>("name") : string.Empty,
					Prioritaet = prioritaetExists ? row.Field<short>("prioritaet") : (short)0,
					EinsatzProTag = einsatzprotagExists ? row.Field<int>("einsatzprotag") : 0,
					IsGerechnet = gerechnetExists ? Convert.ToBoolean(row.Field<int>("gerechnet")) : false,
					IsAusgelernt = ausgelerntExists ? Convert.ToBoolean(row.Field<int>("ausgelernt")) : false,
					Beschreibung = beschreibungExists ? row.Field<string>("beschreibung") : string.Empty
				};
            }
        }
    }
}
